Team, Visitors, External Collaborators
Overall Objectives
Research Program
Application Domains
Highlights of the Year
New Software and Platforms
New Results
Partnerships and Cooperations
Dissemination
Bibliography
XML PDF e-pub
PDF e-Pub


Section: New Results

Meta-F*: Proof automation with SMT, Tactics, and Metaprograms

Participants : Guido Martinez, Danel Ahman, Victor Dumitrescu, Nick Giannarakis [Princeton University] , Chris Hawblitzel [Microsoft Research] , Catalin Hritcu, Monal Narasimhamurthy [University of Colorado Boulder] , Zoe Paraskevopoulou [Princeton University] , Clément Pit-Claudel [MIT] , Jonathan Protzenko [Microsoft Research] , Tahina Ramananandro [Microsoft Research] , Aseem Rastogi [Microsoft Research] , Nikhil Swamy [Microsoft Research] .

We introduced Meta-F* [69], a tactics and metaprogramming framework for the F* program verifier. The main novelty of Meta-F* is allowing to use tactics and metaprogramming to discharge assertions not solvable by SMT, or to just simplify them into well-behaved SMT fragments. Plus, Meta-F* can be used to generate verified code automatically.

Meta-F* is implemented as an F* effect, which, given the powerful effect system of F*, heavily increases code reuse and even enables the lightweight verification of metaprograms. Metaprograms can be either interpreted, or compiled to efficient native code that can be dynamically loaded into the F* type-checker and can interoperate with interpreted code. Evaluation on realistic case studies shows that Meta-F* provides substantial gains in proof development, efficiency, and robustness.